<template>
  <div>
    <my-loading v-if="isShow"></my-loading>
    <div class="movie_body" v-else>
      <van-pull-refresh v-model="isLoading" @refresh="onRefresh" :head-height="100">
        <ul>
          <li v-for="(item) in comingMovieList" :key="item.id">
            <div class="pic_show">
              <img :src="item.img | formatImg('128.180')" @click="toDeatil(item.id)" />
            </div>
            <div class="info_list">
              <h2 @click="toDeatil(item.id)">{{item.nm}}</h2>
              <img src="@/assets/maxs.png" v-if="item.version" />
              <p>
                <span class="person">{{item.wish}}</span> 人想看
              </p>
              <p>主演: {{item.star}}</p>
              <p>{{item.showInfo}}</p>
            </div>
            <div class="btn_pre">预售</div>
          </li>
        </ul>
      </van-pull-refresh>
    </div>
  </div>
</template>
<script>
export default {
  name: 'comingSoon',
  data() {
    return {
      comingMovieList: [],
      checkId: -1,
      isLoading: false,
      isShow: true
    }
  },
  methods: {
    toDeatil(id) {
      this.$router.push(`/movie/detail/${id}`)
    },
    onRefresh() {
      setTimeout(() => {
        this.getComingMovies()
        this.$toast('刷新成功')
        this.isLoading = false
      }, 500)
    },
    async getComingMovies() {
      let res = await this.$axios.get(`/api/movieComingList?cityId=${this.$store.state.city.id}`)
      console.log(res)
      if (res.msg !== 'ok') {
        console.log('获取失败' + res.msg)
        return
      }
      this.comingMovieList = res.data.comingList
      this.checkId = this.$store.state.city.id
      this.isShow = false
    }
  },
  activated() {
    if (this.checkId === this.$store.state.city.id) return
    console.log(2)

    this.getComingMovies()
  }
}
</script>
<style scoped>
#content .movie_body {
  flex: 1;
  overflow: auto;
  height: 520px;
}
.movie_body ul {
  margin: 0 12px;
  overflow: hidden;
}
.movie_body ul li {
  margin-top: 12px;
  display: flex;
  align-items: center;
  border-bottom: 1px #e6e6e6 solid;
  padding-bottom: 10px;
}
.movie_body .pic_show {
  width: 64px;
  height: 90px;
}
.movie_body .pic_show img {
  width: 100%;
}
.movie_body .info_list {
  margin-left: 10px;
  flex: 1;
  position: relative;
}
.movie_body .info_list h2 {
  font-size: 17px;
  line-height: 24px;
  width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.movie_body .info_list p {
  font-size: 13px;
  color: #666;
  line-height: 22px;
  width: 200px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.movie_body .info_list .grade {
  font-weight: 700;
  color: #faaf00;
  font-size: 15px;
}
.movie_body .info_list img {
  width: 50px;
  position: absolute;
  right: 10px;
  top: 5px;
}
.movie_body .btn_mall,
.movie_body .btn_pre {
  width: 47px;
  height: 27px;
  line-height: 28px;
  text-align: center;
  background-color: #f03d37;
  color: #fff;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.movie_body .btn_pre {
  background-color: #3c9fe6;
}
</style>
<style>
.loader{
  position: fixed!important;
  top: 50%!important;
  left: 50%!important;
  transform: translate(-50%,-50%)!important;
}
</style>
